10 REM ************************* * * 20 REM * THE COMIC BOOK FILER * * PROGRAM * 30 REM * * * WRITTEN BY * 40 REM * MICHAEL ASH * ************************* 50 DIM DA$(750),T$(50),TS(50),C(20),GR$(10),VP(10) 60 R$=CHR$(13) 70 FOR X=0TO9:READ GR$(X),VP(X):NEXT X 80 DATA "[196]ON'T [195]ARE",0,"[205]INT",1.05,"[206]EAR [205]INT",1,"[214]ERY [198]INE",.87,"[198]INE",.69 90 DATA "[214]ERY [199]OOD",.49,"[199]OOD",.27,"[198]AIR",.11,"[208]OOR",.03,"[195]OVERLESS",.005 100 POKE 53272,23:POKE 53281,0:PRINTCHR$(5) 110 PRINT"[147]" 120 PRINT" [212][200][197] [195][207][205][201][195][160][194][207][207][203] [198][201][204][197][210]" 130 PRINT" [1] [204]OAD A [196][193][212][193] [196][201][211][203]" 140 PRINT" [2] [195]REATE A [196][193][212][193] [196][201][211][203]" 150 PRINT" [3] [210]ENAME A [196][193][212][193] [196][201][211][203]" 160 PRINT" [4] [197]XIT [208]ROGRAM" 170 PRINT" [195]URRENT DISK IN MEMORY :":PRINT"";A$ 180 GET Z$:Z=VAL(Z$) 190 IF Z<1 OR Z>4 THEN 180 200 ON Z GOTO 210,720,3720,4110 210 OPEN1,8,15 220 GOSUB3900 230 CLOSE 1 240 PRINT"[147]" 250 PRINT" [212][200][197] [195][207][205][201][195][160][194][207][207][203] [198][201][204][197][210]" 260 PRINT" [1] [204]OAD A [196][193][212][193] [198][201][204][197]" 270 PRINT" [2] [195]REATE A [196][193][212][193] [198][201][204][197]" 280 PRINT" [3] [196]ELETE A [196][193][212][193] [198][201][204][197]" 290 PRINT" [4] [210]ETURN TO [205]AIN [205]ENU" 300 PRINT" [195]URRENT DISK IN MEMORY :":PRINT"";A$ 310 GET Z$:Z=VAL(Z$) 320 IF Z<1 OR Z>4 THEN 310 330 ON Z GOTO 900,340,1540,110 340 PRINT"[147]" 350 PRINT" [212][200][197] [195][207][205][201][195][160][194][207][207][203] [198][201][204][197][210]" 360 PRINT" [1] [211]MALL : 250 ISSUES OR LESS" 370 PRINT" [2] [205]EDIUM : 251 - 500 ISSUES" 380 PRINT" [3] [204]ARGE : 501 - 750 ISSUES" 390 PRINT" [4] [210]ETURN TO [208]REVIOUS MENU" 400 GET Z$:Z=VAL(Z$) 410 IF Z<1 OR Z>4 THEN 400 420 IF Z = 4 THEN 240 430 OPEN1,8,15:GOSUB 3900:CLOSE1 440 FB=600-VAL(B$)-(Z*6+1) 450 IF FB <(Z*6+1)THEN GOTO4060 460 T=0 470 FOR X = 1 TO 50 480 IF T$(X) = "*****" THEN T=X:X=51 490 NEXT X:IF T=0 THEN 4060 500 TS(T)=Z:FS=Z 510 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 520 PRINT" [197]NTER THE TITLE OF THE BOOK":INPUT"";Z$ 530 T$(T)=Z$:IF LEN(Z$)>85 THEN T$(T)= LEFT$(Z$,85) 540 PRINT" [195]REATING A DATA FILE FOR" 550 PRINT"";T$(T) 560 GOSUB 3780 570 F$="0:CBF.D"+STR$(T) 580 D$="":FORY=1TO85:D$=D$+"N":NEXTY:D$=D$+R$+D$+R$+LEFT$(D$,80) 590 OPEN1,8,15:OPEN4,8,4,F$+",L,"+CHR$(254):GOSUB4080 600 FOR X= 1 TO Z 610 GOSUB 3860 620 NEXTX 630 D$="":FORY=1TO17:D$=D$+"0000A":NEXTY:D$=D$+R$+D$+R$+LEFT$(D$,80) 640 FOR X= (Z+1) TO (Z*6) 650 GOSUB 3860 660 NEXTX:CLOSE4:PRINT" [214]ALIDATING DISK...":PRINT#1,"V" 670 PRINT "[198]ILE CREATED.":PRINT"[213]SE THE UPDATE OPTIONS TO ENTER " 680 CLOSE1 690 PRINT" INFORMATION INTO THE FILE.":PRINT"[208]RESS ANY KEY TO CONTINUE." 700 GET Z$:IF Z$="" THEN 700 710 GOTO 240 720 PRINT"[147]" 730 PRINT" [212][200][197] [195][207][205][201][195][160][194][207][207][203] [198][201][204][197][210]" 740 PRINT"[196]O YOU WISH TO CREATE A NEW DATA DISK?" 750 PRINT"(Y/N)" 760 GET Z$ 770 IF Z$="Y" THEN 800 780 IF Z$="N" THEN 110 790 GOTO 760 800 PRINT"[197]NTER A DISK NAME : " 810 INPUT A$ 820 IF LEN(A$)>85 THEN A$=LEFT$(A$,85) 830 PRINT"[215]RITING FILES TO DISK..." 840 OPEN2,8,2,"0:CBF.INFO,S,W":OPEN3,8,3,"0:CBF.TITLES,S,W" 850 PRINT#2,A$:PRINT#2,"0":CLOSE2 860 Z=0:FOR X = 1 TO 50:PRINT#3,"*****":PRINT#3,Z:NEXT X:CLOSE3:CLOSE1 870 PRINT "[198]ILES CREATED.":PRINT"[208]RESS ANY KEY TO CONTINUE" 880 GET Z$:IF Z$="" THEN 880 890 GOTO 110 900 GOSUB 1700:IF Z$="E" THEN 240 910 F$="CBF.D"+STR$(T):FS=TS(T) 920 PRINT"[147]" 930 PRINT" [212][200][197] [195][207][205][201][195][160][194][207][207][203] [198][201][204][197][210]":PRINT" [208]LEASE [215]AIT" 940 FOR X=1TO750:DA$(X)="":NEXTX:PRINT" [193]CCESSING....." 950 OPEN1,8,15:OPEN4,8,4,F$:GOSUB4080 960 FORX=1TOFS 970 GOSUB 4010 980 FOR Y = 1 TO 250:Z=((X-1)*250+Y):DA$(Z)=MID$(D$,Y,1) 990 IF DA$(Z) <"0" OR DA$(Z)>"9" THEN DA$(Z)="N" 1000 NEXT Y 1010 NEXTX:CLOSE4:CLOSE1 1020 T$(0)=T$(T):TB=1:IF LEN(T$(0)) < 40 THEN TB = (40-(LEN(T$(0))))/2 1030 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]":PRINT "";TAB(TB);T$(0) 1040 PRINT" [1] [201]SSUE [204]ISTING" 1050 PRINT" [2] [199]RADES" 1060 PRINT" [3] [210]ENAME [212]ITLE" 1070 PRINT" [4] [195]OMPLETE ISSUE INFORMATION":PRINT" [5] [213]PDATE ISSUES/GRADES" 1080 PRINT" [6] [196]ISPLAY/[213]PDATE [208]RICE [199]UIDE" 1090 PRINT" [7] [210]ETURN TO [208]REVIOUS [205]ENU" 1100 GET Z$:Z=VAL(Z$) 1110 IF Z<1 OR Z>7 THEN GOTO1100 1120 ON Z GOTO 1130,1290,3650,1420,2060,2790,240 1130 X=1:W=0:I=0:PRINT"[147]";TAB(TB);T$(0):PRINT 1140 FOR Y=1TO(250*FS) 1150 IF DA$(Y)<"0"OR DA$(Y)>"9" THEN 1200 1160 IF X>10 THEN GOSUB 1250 1170 I=I+1:PRINT TAB(W);RIGHT$(STR$(Y),4); 1180 W=W+4 1190 IF W> 36 THEN X=X+1:W=0:PRINT 1200 NEXT Y 1210 PRINT:PRINT" [212]OTAL NUMBER OF [201]SSUES : ";I 1220 PRINT"[208]RESS ANY KEY TO CONTINUE." 1230 GETZ$:IF Z$="" THEN GOTO 1230 1240 GOTO 1030 1250 PRINT"[208]RESS ANY KEY TO CONTINUE." 1260 GETZ$:IF Z$="" THEN GOTO 1260 1270 X=1:W=0:PRINT"[147]";TAB(TB);T$(0):PRINT 1280 RETURN 1290 PRINT"[147]":PRINT" [160][212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 1300 PRINT" [199][210][193][196][197][211]":PRINT TAB(TB);T$(0):PRINT 1310 PRINT"[215]HICH ISSUE WOULD YOU LIKE TO START":INPUT" WITH? :";S 1320 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]":X=S 1330 IF X<1 OR X>(FS*250)THEN 1030 1340 PRINT" [199][210][193][196][197][211]":PRINT"";TAB(TB);T$(0):GOSUB 1850 1350 PRINT"[201]SSUE # [199]RADE " 1360 PRINT"";S;TAB(20);G$ 1370 PRINT" CONTINUE WITH NEXT ISSUE? (Y/N)" 1380 GET Z$:IFZ$="" THEN 1380 1390 IF Z$="Y" THEN S=S+1:GOTO 1320 1400 IF Z$="N" THEN GOTO 1030 1410 GOTO 1380 1420 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 1430 PRINT" [195][207][205][208][204][197][212][197][160][201][211][211][213][197][160][201][206][198][207][210][205][193][212][201][207][206]" 1440 PRINT"[215]HICH ISSUE WOULD YOU LIKE TO START":INPUT" WITH? :";S 1450 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]":PRINT"";TAB(TB);T$(0):X=S 1460 IF X<1 OR X>(FS*250) THEN 1030 1470 PRINT" [201][211][211][213][197][160]# [199][210][193][196][197] [214][193][204][213][197] ":PRINT:GOSUB 1850:GOSUB1890 1480 PRINT"[145]";TAB(1);S;TAB(15);G$;TAB(26);"$";V 1490 PRINT" [208]RESS THE <[211][208][193][195][197][194][193][210]> FOR NEXT ISSUE" 1500 PRINT"OR [208]RESS ANY OTHER KEY TO EXIT." 1510 GET Z$:IF Z$="" THEN 1510 1520 IF Z$=" " THEN S=S+1:GOTO 1450 1530 GOTO 1030 1540 GOSUB 1700:IF Z$="E" THEN 240 1550 F$="CBF.D"+STR$(T) 1560 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 1570 PRINT" [196][197][204][197][212][197][160][193][160][196][193][212][193][160][198][201][204][197]" 1580 PRINT"[196]ELETE ";T$(T);"?":PRINT " [193]RE YOU SURE (Y/N)" 1590 GETZ$:IF Z$="" THEN 1590 1600 IF Z$<>"Y" THEN 240 1610 OPEN1,8,15:T$(T)="*****":TS(T)=0:PRINT#1,"S:"+F$:PRINT#1,"V" 1620 OPEN3,8,3,"@0:CBF.TITLES,S,W" 1630 B=0:FORX=1TO50:PRINT#3,T$(X):PRINT#3,TS(X) 1640 IF TS(X) <> 0 THEN B=B+(TS(X)*6+1) 1650 NEXTX 1660 CLOSE3:B$=STR$(B) 1670 OPEN2,8,2,"@0:CBF.INFO,S,W":PRINT#2,A$:PRINT#2,B$:GOSUB4080:CLOSE2 1680 CLOSE1 1690 GOTO 240 1700 FORX=1TO5 1710 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 1720 PRINT" [212][201][212][204][197][211]":Z$="" 1730 PRINT:FORY=1TO10 1740 W = (X-1)*10+Y 1750 PRINT TAB(2);"[";W;"] ";T$(W):NEXTY 1760 PRINT TAB(2);"[0] [206]EXT [208]AGE ":PRINT TAB(2);"[197]NTER [E] TO [197]XIT" 1770 INPUT Z$:Z=VAL(Z$) 1780 IF Z$="E" THEN 1820 1790 IF Z=0 THEN GOTO 1830 1800 IF (Z<1 OR Z>50) OR T$(Z)="*****" THEN 1710 1810 T=Z 1820 RETURN 1830 NEXTX 1840 X=0:GOTO 1700 1850 GV=0:G$="[206]/[193]":IF DA$(X)<"0" OR DA$(X) >"9" THEN 1880 1860 G=VAL(DA$(X)) 1870 G$=GR$(G):GV=VP(G) 1880 RETURN 1890 OPEN1,8,15:OPEN4,8,4,F$:GOSUB 4080 1900 RN=FS+1:Y=INT((S-1)/50):RN=RN+Y 1910 X=S-Y*50 1920 RP=1:Z=X:IF X>17 THEN RP=86:Z=X-17:IF X>34 THEN RP=172:Z=X-34 1930 PRINT#1,"P"CHR$(100)CHR$(RN)CHR$(0)CHR$(RP) 1940 INPUT#4,Y$ 1950 PV$=MID$(Y$,(((Z-1)*5)+1),5):GOSUB4080 1960 CLOSE 4:CLOSE1 1970 V=0:PV=0:FOR W = 0 TO 3:V$=MID$(PV$,(4-W),1) 1980 IF V$>="0" AND V$<="9" THEN Y=VAL(V$):GOTO 2000 1990 Y=ASC(V$)-55 2000 PV=PV + (16^W) * Y 2010 NEXT W 2020 V$=RIGHT$(PV$,1) 2030 PV=PV+((ASC(V$)-65)*.05) 2040 V=GV*PV 2050 RETURN 2060 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2070 PRINT" [213][208][196][193][212][197]":PRINT"";TAB(TB);T$(0) 2080 PRINT" [1] [193]DD ISSUES / [213]PDATE [199]RADES":PRINT" [2] [196]ELETE ISSUES" 2090 PRINT " [3] [211]AVE & [197]XIT" 2100 PRINT " [4] [197]XIT [207]NLY " 2110 GET Z$:Z=VAL(Z$):IF Z<1 OR Z>4 THEN 2110 2120 ON Z GOTO 2130,2320,2640,1030 2130 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2140 PRINT" [193][196][196][160][201][211][211][213][197][211] / [213][208][196][193][212][197] [199][210][193][196][197][211]":PRINT"";TAB(TB);T$(0) 2150 PRINT" [1] [193]DD/[213]PDATE A SINGLE ISSUE " 2160 PRINT" [2] [193]DD/[213]PDATE A RUN OF ISSUES" 2170 PRINT" [3] [210]ETURN TO [213]PDATE [205]ENU" 2180 GET Z$:Z=VAL(Z$):IF Z<1 OR Z>3 THEN 2180 2190 ON Z GOTO 2200,2250,2060 2200 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2210 PRINT" [193][196][196][160][201][211][211][213][197][211] / [213][208][196][193][212][197] [199][210][193][196][197][211]":PRINT"";TAB(TB);T$(0) 2220 INPUT" [193]DD/[213]PDATE WHICH ISSUE ";Y:IF Y>=1 AND Y<=FS*250THEN Z=Y:GOTO 2510 2230 IF Y>=1 AND Y<=(FS*250) THEN Z=Y:GOTO 2510 2240 GOTO 2130 2250 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2260 PRINT" [193][196][196][160][201][211][211][213][197][211] / [213][208][196][193][212][197] [199][210][193][196][197][211]":PRINT"";TAB(TB);T$(0) 2270 PRINT" [193]DD/[213]PDATE A RUN":INPUT" STARTING WITH ISSUE :";Y 2280 IF Y<1 OR Y>(FS*250) THEN 2130 2290 INPUT" [197]NDING WITH ISSUE :";Z 2300 IF (Z>=1 AND Z<=FS*250) AND Y3 THEN 2360 2370 ON Z GOTO 2380,2430,2060 2380 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2390 PRINT" [196][197][204][197][212][197][160][201][211][211][213][197][211]":PRINT"";TAB(TB);T$(0) 2400 INPUT" [196]ELETE WHICH ISSUE :";Y:IF Y<=FS*250 AND Y>0 THEN DA$(Y)="N" 2410 IF Y<=750 AND Y>=1 THEN DA$(Y)="N" 2420 GOTO 2320 2430 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2440 PRINT" [196][197][204][197][212][197][160][201][211][211][213][197][211]":PRINT"";TAB(TB);T$(0) 2450 PRINT" [196]ELETE A RUN STARTING WITH ISSUE :":INPUT Y 2460 IF Y<1 OR Y>FS*250 THEN 2320 2470 INPUT" [197]NDING WITH ISSUE :";Z 2480 IF (Z>=1 AND Z<=FS*250) AND(Y"9" THEN 2600 2610 DA$(X) = Z$ 2620 NEXT X 2630 GOTO 2130 2640 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2650 PRINT" [213][208][196][193][212][197][160][201][211][211][213][197][211]/[199][210][193][196][197][211]" 2660 PRINT" [208]LEASE [215]AIT":PRINT " [213]PDATING ...." 2670 OPEN1,8,15:OPEN4,8,4,F$:GOSUB 4080 2680 FORX=1TO(FS):D$="":D1$="":D2$="":D3$="" 2690 FORY=1TO85:W=((X-1)*250)+Y:D1$=D1$+DA$(W):NEXTY 2700 FORY=86TO170:W=((X-1)*250)+Y:D2$=D2$+DA$(W):NEXTY 2710 FORY=171TO250:W=((X-1)*250)+Y:D3$=D3$+DA$(W) 2720 NEXTY:D$=D1$+R$+D2$+R$+D3$ 2730 GOSUB 3860 2740 NEXT X 2750 CLOSE4:CLOSE1 2760 PRINT " [213]PDATE [195]OMPLETE.":PRINT" [208]RESS ANY KEY TO CONTINUE." 2770 GET Z$:IF Z$ = "" THEN 2770 2780 GOTO 1030 2790 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2800 PRINT" [213][208][196][193][212][197][160][208][210][201][195][197][160][199][213][201][196][197]" 2810 OPEN1,8,15:OPEN4,8,4,F$:GOSUB 4080 2820 PRINT" [193]CCESSING.....":W=1 2830 FOR X=(FS+1) TO (FS*6) 2840 GOSUB 4010 2850 FOR Y=1TO50:DA$(W)=MID$(D$,((Y-1)*5)+1,5) 2860 W=W+1 2870 NEXTY 2880 NEXT X:CLOSE4:CLOSE1 2890 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2900 PRINT" [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 2910 PRINT" [1] [196]ISPLAY [208]RICES" 2920 PRINT" [2] [213]PDATE A SINGLE ISSUE" 2930 PRINT" [3][160][213]PDATE A RUN OF ISSUES" 2940 PRINT" [4] [211]AVE [195]HANGES AND [197]XIT" 2950 PRINT" [5] [197]XIT ONLY" 2960 GET Z$:Z=VAL (Z$):IF Z<1 OR Z>5 THEN 2960 2970 ON Z GOTO 2980,3150,3270,3480,920 2980 PRINT"[147]":PRINT" [212][200][197][160][195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 2990 PRINT" [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 3000 INPUT" [211]TART WITH WHICH ISSUE :";S 3010 X=S:Z=S+1:PRINT" [193]CCESSING....." 3020 IF S>(FS*250) OR S<1 THEN 2890 3030 IF S=(FS*250) THEN 3050 3040 IF DA$(X) = DA$(Z) THEN Z=Z+1:IF Z<=(FS*250) THEN 3040 3050 PV$= DA$(X):GOSUB 1970 3060 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3070 PRINT" [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 3080 PRINT" [201]SSUE # [208]RICE [199]UIDE [214]ALUE" 3090 IF Z=S+1 THEN PRINT"";TAB(7);S;TAB(20);"$";PV:GOTO 3110 3100 PRINT"";TAB(5);S;"-";Z-1;TAB(20);"$";PV 3110 PRINT" [208]RESS THE <[211]PACEBAR> FOR THE NEXT BLOCK":PRINT" OR ANY OTHER KEY TO EXIT" 3120 GETZ$:IF Z$="" THEN 3120 3130 IF Z$<>" " THEN 2890 3140 S=Z:GOTO3010 3150 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3160 PRINT" [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 3170 INPUT"[213]PDATE WHICH ISSUE :";X 3180 IF X<1 OR X>(FS*250) THEN 2890 3190 PV$=DA$(X):GOSUB 1970 3200 PRINT"[147]":PRINT" [212][200][197][160][195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3210 PRINT" [208][210][201][195][197][160][199][213][201][196][197]" 3220 PRINT" [195]URRENT VALUE OF ISSUE ";X;" : $";PV 3230 INPUT " [197]NTER NEW VALUE : $";V 3240 GOSUB 3380 3250 DA$(X)=P$ 3260 GOTO 2890 3270 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3280 PRINT" [213][208][196][193][212][197] [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 3290 INPUT " [211]TARTING WITH ISSUE :";S 3300 IF S<1 OR S>FS*250 THEN 2890 3310 INPUT" [197]NDING WITH ISSUE :";S1 3320 IF (S1<1 OR S1>FS*250) OR S165536 THEN V1 = 65535 3390 Y=V1/16:Z=V1-INT(Y)*16:V1=INT(Y) 3400 IF Z< 10 THEN P$=RIGHT$(STR$(Z),1)+P$:GOTO 3420 3410 P$=CHR$(Z+55)+P$ 3420 IF V1= 0 THEN GOTO 3440 3430 GOTO 3390 3440 IF LEN(P$)=4 THEN GOTO 3460 3450 Y=(4-LEN(P$)):FOR X1=1TOY:P$="0"+P$:NEXT X1 3460 P$=P$+CHR$(V2+65) 3470 RETURN 3480 OPEN1,8,15:OPEN4,8,4,F$:GOSUB 4080 3490 PRINT"[147]":PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3500 PRINT" [208][210][201][195][197][160][199][213][201][196][197]":PRINT"";TAB(TB);T$(0) 3510 PRINT" [208]LEASE [215]AIT":PRINT " [213]PDATING [208]RICE [199]UIDE ...." 3520 FOR X=1TO50:T$(X)="":TS(X)=0:NEXTX:A$="":B$="":E1$="":E2$="":E3$="":E4$="" 3530 W=1:Y$="" 3540 FOR X= (FS+1) TO (FS*6) 3550 D$="":D1$="":D2$="":D3$="" 3560 FOR Z=1TO17:D1$=D1$+DA$(W):DA$(W)="":W=W+1:NEXTZ 3570 FOR Z=18TO34:D2$=D2$+DA$(W):DA$(W)="":W=W+1:NEXTZ 3580 FOR Z=35TO50:D3$=D3$+DA$(W):DA$(W)="":W=W+1:NEXTZ 3590 D$=D1$+R$+D2$+R$+D3$:GOSUB 3860 3600 NEXTX 3610 CLOSE4::GOSUB3900:CLOSE1 3620 PRINT " [213]PDATE [195]OMPLETE.":PRINT" [208]RESS ANY KEY TO CONTINUE." 3630 GET Z$:IF Z$ = "" THEN 3630 3640 GOTO 920 3650 PRINT"[147]": PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3660 PRINT" [210][197][206][193][205][197][160][212][201][212][204][197]" 3670 X=1 3680 IF T$(0)<>T$(X) THEN X=X+1:GOTO 3680 3690 PRINT" [195]URRENT [212]ITLE [206]AME :":PRINT TAB(TB);T$(0) 3700 PRINT"[197]NTER [206]EW [212]ITLE [206]AME :":INPUT T$(X) 3710 GOSUB 3780:CLOSE1:GOTO1020 3720 PRINT"[147]": PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3730 PRINT" [195]URRENT DISK : ";A$ 3740 PRINT "[197]NTER NEW DISK NAME : " 3750 INPUT A$ 3760 OPEN1,8,15:GOSUB3840 3770 GOTO 110 3780 OPEN1,8,15 3790 OPEN3,8,3,"@0:CBF.TITLES,S,W":GOSUB4080 3800 Y=0:FORX=1TO50:PRINT#3,T$(X):PRINT#3,TS(X):GOSUB 4080 3810 IF TS(X)<> 0 THEN Y=Y+(TS(X)*6+1) 3820 NEXTX 3830 CLOSE3:B$=STR$(Y) 3840 OPEN2,8,2,"@0:CBF.INFO,S,W":PRINT#2,A$:PRINT#2,B$:GOSUB4080:CLOSE2 3850 CLOSE1:RETURN 3860 PRINT#1,"P" CHR$(100) CHR$(X) CHR$(0) CHR$(1):GOSUB 4080 3870 PRINT#4,D$:GOSUB4080 3880 PRINT#1,"P" CHR$(100) CHR$(X) CHR$(0) CHR$(1):GOSUB 4080 3890 RETURN 3900 PRINT"[147]": PRINT" [212][200][197] [195][207][205][201][195] [194][207][207][203] [198][201][204][197][210]" 3910 PRINT" [193]CCESSING....." 3920 OPEN2,8,2,"CBF.INFO,S,R":GOSUB 4080 3930 INPUT#2,A$,B$ 3940 GOSUB 4080:CLOSE2 3950 PRINT" [193]CCESSING....." 3960 OPEN2,8,2,"0:CBF.TITLES,S,R":GOSUB 4080 3970 FORX=1TO50:INPUT#2,T$(X),TS(X) 3980 GOSUB 4080:NEXTX 3990 CLOSE2 4000 RETURN 4010 PRINT#1,"P"CHR$(100)CHR$(X)CHR$(0)CHR$(1) 4020 INPUT#4,D1$,D2$,D3$ 4030 GOSUB 4080:IF VAL(E1$)=51 THEN 4100 4040 D$=D1$+D2$+D3$:D1$="":D2$="":D3$="" 4050 RETURN 4060 PRINT"[147]":PRINT" [196]ATA [196]ISK [198]ULL!" 4070 GOTO 4110 4080 INPUT#1,E1$,E2$,E3$,E4$ 4090 IF VAL(E1$)=50 OR VAL(E1$) <20 THEN RETURN 4100 PRINT E1$,E2$,E3$,E4$ 4110 END